Parallel finite automata for modeling concurrent software systems
نویسندگان
چکیده
The class of parallel nite automata PFA is described that naturally expresses the interleaving parallelism inherent in Petri net notation without admitting the possibility of an in nite state space The equivalence of this class to deterministic nite automata DFA is demonstrated using an algorithm for generating an equivalent nondeterministic nite automaton NFA from a PFA A composition rule is given for constructing a PFA from a regular expression with the interleaving operator Finally the languages generated by this class are related to known classes of Petri net languages Though the class PFA is equivalent in recognition power to the class DFA the fact that DFAs are a structural subset of PFAs makes the PFA representation preferable for many applications requiring nite automata models As an example we discuss the usefulness of PFA notation as a structural model for hypertext and non linear interactive information networks in general Parallel Finite Automata We present a class of nite automaton called Parallel Finite Automata or PFA Before getting to the formal de nitions and application it should be clearly stated that the contribution of this work is not primarily theoretical Though the notation employed here does not appear to be generally known or used the theory of nite state machines is among the best understood material in computing The contribution of this work is in the utility of this particular notation and in the manner in which it t into an existing software modeling development see section PFAs combine the modeling capabilities of Petri nets without admitting the possibility of an in nite state space The resulting automaton class is therefore a form of nite state machine but one that is capable of directly expressing interleaving forms of parallelism without having it encoded into the meaning of states The PFA notation leads to automata that are highly compact relative to the state space they encode see section under notational succinctness The notation we use to represent a PFA is similar to that commonly used for deterministic and nonde terministic nite automata DFA and NFA respectively but it is slightly modi ed for expressing parallel activity The modi cations essentially match the elements in a Petri net structure but we have represented them with a notation that makes PFAs more recognizable as purely nite automata In this section we ex plain the de nition representation and behavior of a PFA In section we present a proof of equivalence between the DFA and PFA automaton classes Section demonstrates a technique for composing PFAs This work partially supported by the National Science Foundation under grants IRI and IRI We assume a familiaritywith basic Petri net theory An excellent introduction to the eld can be found in the recent survey by Murata and a detailed exposition of more advanced theory can be found in the book by Reisig directly from regular expressions with an interleaving operator In section we discuss several interesting modeling properties exhibited by PFAs and discuss their relationship to subclasses of Petri nets In sec tion we conclude by discussing the use of PFAs in the software system architecture of a novel interactive information system called Trellis Formal descriptions We begin with a formal de nition of the members of class PFA and follow that with a description of their representation and behavior The notation and style is that commonly used in nite automata theory The formal development is straightforward but presented in detail for completeness and clarity of understanding the execution of the transition diagrams in the ensuing examples De nition Parallel nite automaton A PFA M can be formally de ned as a tuple M N Q q F in which N is a nite set of nodes Q N is a nite set of states is a nite input alphabet N f g N is the node transition function Q f g Q is the state transition function q Q is the start state F N is the set of nal nodes and where and are partial functions subject to the restrictions outlined in the following discussion In a PFA there is no one to one correspondence between states and nodes in a transition diagram as is common in other nite automata Thus the node transition function is used to generalize the notion of arc found in directed graphs Speci cally if fA Bg a fC D Eg is an element of we say that a transition labeled a exists with source nodes A and B and with target nodes C D and E A state in a PFA is a set of nodes During execution the nodes composing the current state are termed active The state transition function is then de ned as follows Initially the set of active nodes for M is exactly q the initial state During execution of M on seeing the input symbol c in state q the set of active nodes constituting the next state for M is any one of the sets in q c More speci cally each state transition is de ned based on the node transitions as follows De nition State transition rule ring rule Given an state q Q and an input symbol c f g q c f q m n j n m c for m q g We extend the operation of to strings from using the function as follows q q q a f p j for some r q p r a g Furthermore the meaning of these functions applied to a set of states is simply the union of the results of application to the individual states in the set In the ensuing discussion we use only the symbol and let the context of its use distinguish between the two functions A normal directed graph expressed in this form would have singletons for both the source and target node sets We will consistently use the term symbol to denote what is often called an input token in automata theory This is to prevent confusion with the Petri net notion of token which refers to an indicator of node activity The PFA M accepts a string if for some state q q q F This intuitively says a string is accepted if after it is fully consumed by some execution of M every active node is a nal nodes Corre spondingly the language accepted by a PFA M is de ned to be L M f j q contains a subset of F g An error occurs during execution if no state transition is possible from the current state with the current input symbol Informal representation and execution A PFA is best depicted as a form of directed graph with labeled transitions as shown in gure The nodeset N in the PFA is represented by the nodes in the graph Each node transition in is represented by drawing a collective form of arc from its set of source nodes to its set of target nodes We shall refer to such arcs as tied arcs For any transitions with multiple sources or targets a small circle is drawn as a collection point to emphasize the tying together of the various arcs composing the transition The label is placed at the collection point Collectively the labels on the transitions leaving any particular node do not have to be unique A transition that enters more than one target node is termed a parallel transition if it leaves more than one source node it is termed a synchronizing transition The one or more nodes which collectively constitute the start state q are denoted in the representation of a PFA with bold arrows The nal nodes in F are shown as double circles A node transition in is possible or enabled if all of its source nodes are active and the current input symbol matches the label on the node transition At each step in the execution of a PFA an enabled transition is nondeterministicly chosen and executed producing a next state from the current state Note that nondeterministic choice possibly arises in two ways a single node can have several outgoing transitions bearing the same label and two or more active nodes may each have outgoing transitions bearing the same label When a transition is executed all of its source nodes are made inactive and then all of its target nodes are made active This consumes the input symbol There is no notion of a node being doubly active as might be thought if a target node of an executed transition is already an active node If a transition is labeled with it indicates that the transition is enabled whenever all of its source nodes are active and that it does not consume any input when it executes The most intuitive way to understand PFA execution is in Petri net terms A PFA has basically the same structure as a Petri net with the PFA node set N representing Petri net places the tied PFA arcs in representing Petri net transitions and the initial PFA state q specifying an initial Petri net marking of one token per active place PFA execution then proceeds as normal Petri net execution except that the token count in each place is normalized i e any token count greater than is set to after each transition ring Thus the net never has more than one token in any place The token distribution is part of the state information in a normal Petri net and since multiple tokens can accumulate in places a classical Petri net is a potentially in nite state automaton The nets represented by PFAs however have bounded token counts at each node in the graph so PFAs are nite state automata Section below expands on this point by showing speci cally the equivalence between PFAs and DFAs First we informally illustrate PFA execution with two examples
منابع مشابه
Compositional Reasoning for Shared-variable Concurrent Programs
Scalable and automatic formal verification for concurrent systems is always demanding, but yet to be developed. In this paper, we propose a verification framework to support automated compositional reasoning for concurrent programs with shared variables. Our framework models concurrent programs as succinct automata and supports the verification of multiple important properties. Safety verificat...
متن کاملAn AsmL model for an Intelligent Vehicle Control System
An abstract state machine (ASM) is a mathematical model of the system’s evolving, runtime state. ASMs can be used to faithfully capture the abstract structure and step-wise behaviour of any discrete systems. An easy way to understand ASMs is to see them as defining a succession of states that may follow an initial state. We present a machine-executable model for an Intelligent Vehicle Control S...
متن کاملForward Analysis of Dynamic Network of Pushdown Systems Is Easier without Order
Dynamic networks of Pushdown Systems (PDN in short) have been introduced to perform static analysis of concurrent programs that may spawn threads dynamically. In this model the set of successors of a regular set of configurations can be non-regular, making forward analysis of these models difficult. We refine the model by adding the associativecommutative properties of parallel composition, and...
متن کاملPSPACE-completeness of Modular Supervisory Control Problems*
In this paper we investigate computational issues associated with the supervision of concurrent processes modeled as modular discrete-event systems. Here, modular discrete-event systems are sets of deterministic finite-state automata whose interaction is modeled by the parallel composition operation. Even with such a simple model process model, we show that in general many problems related to t...
متن کاملRequirements, Formal Verification and Model transformations of an Agent-based System: A CASE STUDY
One of the most challenging tasks in software specifications engineering for a multi-agent system is to ensure correctness. As these systems have high concurrency, often have dynamic environments, the formal specification and verification of these systems along with step-wise refinement from abstract to concrete concepts play major role in system correctness. Our objectives are the formal speci...
متن کاملA fast wallace-based parallel multiplier in quantum-dot cellular automata
Physical limitations of Complementary Metal-Oxide-Semiconductors (CMOS) technology at nanoscale and high cost of lithography have provided the platform for creating Quantum-dot Cellular Automata (QCA)-based hardware. The QCA is a new technology that promises smaller, cheaper and faster electronic circuits, and has been regarded as an effective solution for scalability problems in CMOS technolog...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Systems and Software
دوره 27 شماره
صفحات -
تاریخ انتشار 1994